package com.zr.eim.mapper;

import java.util.List;
import com.zr.eim.domain.EimDataPerson;
import org.apache.ibatis.annotations.Param;

/**
 * 居民基本信息Mapper接口
 * 
 * @author peihang
 * @date 2022-10-21
 */
public interface EimDataPersonMapper 
{
    /**
     * 查询居民基本信息
     *
     * @param id 居民基本信息主键
     * @return 居民基本信息
     */
    public EimDataPerson selectEimDataPersonById(Long id);
    /**
     * 查询居民基本信息
     *
     * @param personId 居民基本信息主键
     * @return 居民基本信息
     */
    public EimDataPerson selectEimDataPersonByPersonId(String personId);

    /**
     * 查询居民基本信息列表
     * 
     * @param eimDataPerson 居民基本信息
     * @return 居民基本信息集合
     */
    public List<EimDataPerson> selectEimDataPersonList(EimDataPerson eimDataPerson);

    /**
     * 新增居民基本信息
     * 
     * @param eimDataPerson 居民基本信息
     * @return 结果
     */
    public int insertEimDataPerson(EimDataPerson eimDataPerson);

    /**
     * 修改居民基本信息
     * 
     * @param eimDataPerson 居民基本信息
     * @return 结果
     */
    public int updateEimDataPerson(EimDataPerson eimDataPerson);

    /**
     * 删除居民基本信息
     * 
     * @param id 居民基本信息主键
     * @return 结果
     */
    public int deleteEimDataPersonById(Long id);

    /**
     * 批量删除居民基本信息
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteEimDataPersonByIds(Long[] ids);

    List<EimDataPerson> selectEimDataPersonList1(EimDataPerson eimDataPerson);

/**
     * 查询未管控病例基本信息列表
     * @return 未管控病例基本信息集合
     */
    List<EimDataPerson> selectPatientList(String userName);

 /**
     * 修改居民管控状态
     *
     * @param personId 居民身份证号
     * @param controlStatus 居民管控状态
     */
    int updateEimDataPersonControlStatus(@Param("personId") String personId, @Param("controlStatus") int controlStatus);

/**
     * 修改是否对确诊居民所在区域进行采样消杀的状态
     *
     * @param personId 居民身份证号
     * @param ifSampleSanitize 是否采样消杀
     */
    int updateEimDataPersonSampleSanitize(@Param("personId") String personId,@Param("ifSampleSanitize") int ifSampleSanitize);

    int toDiagnosisByIds(Long id);

    int eimDataPersonToMonitorByIds(Long id);

    /**
     * 查询工作人员数量
     * 需求模块：数据大屏
     */
    int getAllMedicalPersonnel();



    List<EimDataPerson> selectDiagnosticInfoList(EimDataPerson eimDataPerson);

}
